Flow control systems are used in communication networks to prevent packet loss due to lack of buffer resources at the receiving end of a transmission. In multiple virtual circuit architectures such as Asynchronous Transfer Mode (ATM), existing flow control systems require a fixed amount of buffering per virtual circuit. The total amount of buffering required to support flow control systems for multiple virtual circuit architectures therefore increases with the number of virtual circuits allowed per node.
In known virtual circuit based networks, flow control is applied on each link for every virtual circuit, independent of all other virtual circuits. A window based flow control scheme is used, in which a cell is a data transmission unit of a given length, and the window size equals a maximum number of cells r that can be transmitted during the round trip transmission delay between the transmitting node and the destination node.
In such known virtual circuit based networks, if v is the maximum number of virtual circuits allowed per destination node, then the total buffer requirement is rv receive cell buffers per destination node. Fairness may be achieved in such a flow control system, if other components of the system are fair. For example, virtual circuits may be serviced in a fair, say round robin, fashion. However, as the distance between the transmitting node and the destination node increases, the total buffer requirement per destination node increases similarly. For this reason buffer requirements in these systems can be impractical, where very long maximum distance links are permitted.
For example, in a known system where the maximum number of virtual circuits allowed per destination node is 2.sup.14, having a link speed of 622 megabits per second, there is required over 1 gigabyte of receive buffer memory in a destination node across a 100 kilometer link. This amount of receive buffer memory is used to ensure there is no performance limitation due to lack of receive buffers in the destination node. In such a known system, over 10 gigabytes of receive buffer memory are required in a destination node over a 1000 kilometer link.
As shown above, total buffer requirements of existing flow control systems in communications systems using virtual circuits are prohibitively costly where long distance links between nodes are allowed. For these reasons and others, there is therefore a need for a flow control system requiring fewer total receive buffers than existing systems.